package forum.dao.factories;

import forum.dao.CategoryDAO;
import forum.dao.PostDAO;
import forum.dao.TopicDAO;
import forum.dao.UserDAO;
import forum.dao.memory.MemoryCategoryDAO;
import forum.dao.memory.MemoryUserDAO;

public class MemoryDAOFactory implements DAOAbstractFactory {

    private UserDAO userDAO = new MemoryUserDAO();
    private CategoryDAO categoryDAO = new MemoryCategoryDAO();
    private PostDAO postDAO = null;//new MemoryGenericDAO<Post>();
    private TopicDAO topicDAO = null;//new MemoryGenericDAO<Topic>();

    @Override
    public UserDAO getUserDAO() {
        return userDAO;
    }

    @Override
    public CategoryDAO getCategoryDAO() {
        return categoryDAO;
    }

    @Override
    public TopicDAO getTopicDAO() {
        return topicDAO;
    }

    @Override
    public PostDAO getPostDAO() {
        return postDAO;
    }
}
